package com.scada.inf;



import java.util.List;
import java.util.Map;

import com.scada.model.bean.DictionaryData;
import com.scada.model.bean.vo.DictionaryVO;
import com.scada.model.result.ActionResult;
import com.scada.model.result.PageInfo;
import com.scada.model.result.ResponseBean;



/**
 * 字典详情
 * @author 杨渊
 *
 * 2016年11月17日
 */
public interface DictionaryDataVisitor {
	    
	   /**
	    * 字典详情逻辑删除
	    * @param map
	    * @return
	    */
		public ActionResult deleteByPrimaryKey(Map<String,Object> map);	    
		
		/**
		 * 字典详情插入
		 * @param record
		 * @return
		 */
		public ActionResult insertSelective(DictionaryData record);
		
		/**
		 * 字典详情根据ID查询
		 * @param map
		 * @return
		 */
		public DictionaryData selectByPrimaryKey(Map<String,Object> map);
	    
	    /**
	     * 字典详情更新
	     * @param record
	     * @return
	     */
		public ActionResult updateByPrimaryKeySelective(DictionaryData record);
	    
	    /**
	     * 字典详情分页查询
	     * @param pageInfo
	     * @return
	     */
	    
	    public PageInfo<DictionaryVO> selectAll(PageInfo<DictionaryVO> pageInfo);
	    
	    /**
	     * 根据字典类型查询所有子级
	     * @author 高骏杰
	     */
	    public ResponseBean searchDictionaryDataByType(String type);
	    
	    /** 
	     * @FunctionName: getDataByType
	     * @Description: 通过标识获取数据
	     * @author: 黄胜
	     * @date: 2016年11月16日 下午4:03:03 
	     * @param record
	     * @return 
	     */
	    public List<DictionaryData> getDataByType(String type);


	    /** 
	     * @FunctionName: getDataByTypeAndKey
	     * @Description: TODO
	     * @author: 黄胜
	     * @date: 2017年1月15日 下午5:09:05 
	     * @param type
	     * @param typeKey
	     * @return 
	     */
	    public DictionaryData getDataByTypeAndKey(String type, String typeKey);
	    
	    
	    /**
	     * 
	     * @Title: findempJobName 
	     * @Description:查询员工职级
	     * @param typeKey   员工类型
	     * @return
	     * @return: DictionaryData
	     * @author: yangyuan 
	     * @date: 2016年12月13日 下午4:18:35
	     */
	    public List<DictionaryData> findempJobName();
	    
	    
	    /**
	     * 
	     * @Title: findDictionaryType
	     * @Description:查询所有任务分类字典   type 字典类型编码
	     * @return     
	     * @return: List<DictionaryData>
	     * @author: yangyuan 
	     * @date: 2016年12月30日 下午2:04:23
	     */
	    public List<DictionaryData> findDictionaryType(String type);
	    
	    public ResponseBean getSelectDicPageDate(Integer pageSize,Integer currentPage,String searchName,String dicKey);
	    
}
